1. Field of the Invention
The present invention relates to an apparatus for and a method of controlling a pulse motor as well as an image pickup system using such apparatus or method, and, more particularly, to driving control for driving the pulse motor.
2. Description of Related Art
In general, stepping motors are widely used as drive sources for office automation equipment or the like because their rotational angles and speeds can be accurately controlled by open control.
Such a stepping motor has a constant rotational angle per step pulse and can realize position detection merely by incrementing the number of step pulses. Since the stepping motor does not need a special encoder for position detection, the stepping motor has also recently been used as a lens control source for an image pickup system such as a video camera.
One example of a method of driving a pulse motor will be described below.
FIG. 14 is a view showing one example of the arrangement of a pulse motor and a pulse motor control apparatus.
The arrangement shown in FIG. 14 includes driver circuits 1 and 2, motor windings 3 and 4 of a two-phase pulse motor 5, and a magnet 6 of a two-phase pulse motor 5. A microcomputer 7 for performing motor control includes a PWM (pulse width modulation) unit 7a which outputs pulse signals (E and F) each having a settable frequency and duty ratio, a programmable timer unit 7b, ports "a" and "b" through each of which the microcomputer 7 can output a high-level signal and a low-level signal, and a ROM 7c which stores data such as driving speeds for the pulse motor 5 and PWM duty ratios.
FIG. 15 is a view showing the internal construction of each of the driver circuits 1 and 2. The construction shown in FIG. 15 includes PNP transistors 8 and 9, NPN transistors 10 and 11, diodes 12, 13, 14 and 15, resistors 16, 17, 18 and 20, AND gates 20 and 21, and a NOT gate 22.
Referring to FIG. 15, if an input terminal EN1 is at a high level and an input terminal IN1 is also at a high level, transistors 8 and 11 (Tr8 and Tr11) are on and transistors 9 and 10 (Tr9 and Tr10) are off, so that current flows through the motor winding 3 from an output terminal OUT1 to an output terminal OUT2. If the input terminal EN1 is at the high level and the input terminal IN1 is also at a low level, the transistors 9 and 10 are on and the transistors 8 and 11 are off, so that current flows through the motor winding 3 from the output terminal OUT2 to the output terminal OUT1. If the input terminal EN1 is at a low level, all the transistors 8, 9, 10 and 11 are off irrespective of the input level at the input terminal IN1, so that the motor winding 3 from the output terminal OUT1 to the output terminal OUT2 is placed in a high impedance state.
FIG. 16 is a table showing the relation between the input levels at the input terminals EN1 and IN1 and the states of the transistors 8 to 11 (Tr8 to Tr11). Although FIG. 16 shows such relation for only the driver circuit 1, a relation for the driver circuit 2, i.e., the relation between input terminals IN2 and EN2 and the states of the transistors 8 to 11 (Tr8 to Tr11), is also similar to that shown in FIG. 16.
Referring back to FIG. 14, a pulse signal E outputted from the PWM unit 7a of the microcomputer 7 is supplied to the input terminal IN1 of the driver circuit 1, while a pulse signal F outputted from the PWM unit 7a of the microcomputer 7 is supplied to the input terminal IN2 of the driver circuit 2. The input terminals EN1 and EN2 are connected to the output ports "a" and "b" of the microcomputer 7, as shown in FIG. 14, so that the input levels at the input terminals EN1 and EN2 are controlled by the microcomputer 7. However, these input terminals EN1 and EN2 may be fixed to the high levels without being connected to the microcomputer 7.
A method of controlling currents in the motor windings 3 and 4 by PWM (the pulses E and F) will be described below. The microcomputer 7 supplies a PWM output to each of the driver circuits 1 and 2 at a predetermined frequency fp. The motor windings 3 and 4 are driven with the above-described logic according to whether the output level of the PWM unit 7a is high or low, but the frequency fp is high and current according to the duty ratio shown in FIGS. 17(a) and 17(b) flows through each of the motor windings 3 and 4 by the action of the inductance of the motor windings 3 and 4.
Accordingly, to implement sine-wave driving which does not cause large vibration nor large noise, the form of variation in the PWM duty ratio needs only to be made approximately sinusoidal. To realize far more efficient motor driving, the variation in the PWM duty ratio needs only to be adjusted so that the amplitude of a sine wave for the sine-wave driving varies according to the rotational speed of the motor. A method of manipulating such duty ratio will be described below.
Specifically, as shown in FIG. 18, basic duty ratio data Dn having a maximum value FFh and a minimum value 00h is stored in the ROM 7c. The duty ratio data Dn is obtained by dividing, for example, one cycle of a sine-wave signal into sixty-four points. The numerical values "0" to "63" which are arranged in the upper row of the table of FIG. 18 represent addresses assigned to the ROM 7c for convenience's sake, and correspond to the values arranged in Part A of FIG. 19. These addresses are used to determine which phase position of a sinusoidal waveform of driving current for driving the pulse motor corresponds to a position where a rotor of the pulse motor is currently located. Accordingly, the microcomputer 7 can effect position detection without the use of an encoder by counting a pulse phase position corresponding to Part D of FIG. 19, i.e., the number of pulses. FIG. 19 shows the state in which the pulse motor is driven by eight pulses in one cycle of the sine-wave driving current.
The numerical values arranged in the lower row of the table of FIG. 18 represent the duty ratio data Dn which are stored in the respective addresses. These duty ratio data Dn are sequentially read by means of a timer interrupt of the microcomputer 7, and are used as a duty ratio for PWM. The rotational speed of the pulse motor can be controlled by controlling a timer interrupt time (Tt). The PWM signals E and F are shifted from each other by a phase angle of 90 degrees by shifting readout ROM addresses by sixteen addresses.
If the driving of the above-described pulse motor needs to be started with the rotor being stopped, a torque larger than a rotor holding torque needs to be applied to the pulse motor. Accordingly, if the pulse motor is to be driven with sine-wave current, driving current equivalent to the required rotor holding torque is needed, and the driving of the pulse motor is not started until the phase of the driving current reaches the equivalent driving phase. For example, if the driving of the pulse motor is to be stopped with the rotor being stopped in the phase state indicated by a point B in FIG. 19, driving current whose phase state is at least equivalent to the phase position D=5 must be applied to the pulse motor.
However, when position detection is to be performed by incrementing the value of a step pulse to be applied to the pulse motor, if the driving of the pulse motor is started at the ROM address A=0 as shown in FIG. 19, the driving of the pulse motor is not started up to the address A=40, but the step pulse will advance by five pulses (the phase position D=5) and the position detection will advance by five pulses after the driving is started. This leads to the problem that a deviation occurs when position detection is performed by counting the number of pulses.